// Copyright (c) 2010 Manuel Peinado Gallego <manuel.peinado@gmail.com>
// Distributed under the GNU General Public License v3

// MarkerNode.h : interface of the MarkerNode class
//

#pragma once

#include "SmartEnum.h"
#include "TransformNode.h"
#include "Color.h"


// The two well-known kinds of OpenGL Markers
BEGIN_ENUM(MarkerType)
    POSITIONAL, DIRECTIONAL
END_ENUM(MarkerType)


// ----------------------------------------------------------------------------
// Class "MarkerNode"
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
//
// ----------------------------------------------------------------------------


class MarkerNode : public TransformNode
{
public:

    // Ctor.
    MarkerNode();

protected:

    // Override. Returns true
    bool canBeDrawnImpl() const override;

    // Override.
    void draw(View3d * view) const override;

    // Override. Returns true
    bool isBoundedImpl() const override;

    // Override
    AABB getAabbLocalImpl() const override;

private:

};
